home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Cream of the Crop 1
/
Cream of the Crop 1.iso
/
PROGRAM
/
A86ENV.ARJ
/
ASENV.DOC
next >
Wrap
Text File
|
1991-10-08
|
13KB
|
366 lines
ASENV v0.1 - 1991
A86 Assembler Working Environment
A86 is Copyright 1986--1990 by Eric Isaacson
ASENV is written by S.L.I. and released to the PUBLIC DOMAIN - 1991
NOTE : ASENV is written and compiled in QuickBasic 4.0
-------------------------------------------------------
the STORY:
I've been a professional programmer for over 12 years, now, mostly on
mainframe and super-mini computers, and dealing almost exclusively with
higher level languages (COBOL, FORTRAN, BASIC, etc.). A couple of years
ago, I decided to add the DOS-compatible PC-level machines to my
knowledge base (I'd been 'playing' with a Commodore-64 since 1983).
While looking for an assembler/compiler to handle the xx88 and xxx86
assembler language, I found the A86 assembler package by Eric Isaacson.
This has got to be one of the best representations of a concept in the
DOS world which I've seen growing by leaps and bounds: that of extremely
acceptable 'commercial' quality software being written and offered on
the shareware level. Not only is A86 priced better than those packages
offered commercially, but in almost every functional respect A86 either
matched or exceeded the capabilities of those 'other' packages.
There was one thing missing, however. All of the A86 programs were run
from the command-line (or a user-written batchfile). Most of the other
packages offered the user a 'working environment' or 'shell' to ease
the tedium of the reiterative loop of writing source code, compiling,
linking, and running programs. This shell, while not imperative, does
add to the productivity of a programmer, and also makes a package more
attractive.
Having just recently upgraded to DOS 5.0, I was looking for a task to
familiarize myself with the QuickBasic language, and also wished to try
to develop some sort of 'shell' for my own use of A86 (I'm just starting
to learn PC assembler, so anything to make my life easier is a BIG
plus).
Well, ASENV (ASembler ENVironment) is the result. This is only the first
version. There WILL be more coming (as I start needing other tools and
functions), but I think that this is ready for a first release.
Take it, try it, and if you like it, use it. Have fun!
Please leave any comments to:
Karl B. Carapellotti
CompuServe ID 70046,1401
- 1 -
NOTES ON ASENV:
When using ASENV, the following considerations are in effect:
1) The A86 program (and its supporting files) must be available in
your working directory, or in your PATH statement.
2) As of this release (v0.1), ASENV tries to make intelligent decisions
about the drives, paths, filenames, and file extensions you enter,
but you can defeat it by doing something silly. For instance, at
the F1/Working file entry, you may enter a base filename (without
extension), or a filename.extension, or a full working filename
(drive:\path\path\filename.extension). ASENV will try to parse over
the entry, and change your environment to the requested parameters,
but it does NOT check the validity of these parameters (yet!).
If you enter something like :
'W:\firstpath\secondsub\thisismyfile.toolongextension',
and don't have a W: drive, or use invalid path/file/extension names,
ASENV will still try to make the changes (it won't succeed, but it
will TRY).
A certain modicum of intelligence on the part of the user is
assumed. Let's be honest, if you're not knowledgeable enough to
use DOS, then you have NO business in an ASSEMBLER environment!
3) A86 includes many command-line switches which affect the assembly,
the output, and other functions of the assembly process. As of
version 0.1, I have chosen to only support two of them : the
's' switch (to enable/disable creation of .SYM(bol) files), and the
'o' switch (to enable/disable creation of linkable .OBJ(ect) files).
More (maybe even all) of them will be available in future releases.
4) ASENV allows you to use your favourite text editor to edit source
files. The default at entry is the DOS 5.0 EDIT program. Whether you
change the editor program or not, the editor being used MUST be
available on your current directory or path. Full DOS filenames are
usable for your editor (e.g. 'E:\util\myeditor.com'), but, as in note
#2 above, YOU are responsible for the correctness of the entry.
Command-line switches for the editor are NOT supported (yet!).
5) ASENV always starts up in 'default' mode. There is not (yet!) any
option to SAVE your current files and other working parameters.
Coming soon!
- 2 -
USING ASENV :
When you first enter ASENV, the screen will display:
-------------------------------------------------------------------
* * * A86 Assembler Environment * * *vx.x
F1 / Workfile : default
F2 / Pgm Editor : edit
F3 / Edit F6 / Object create : off
F4 / Assemble F7 / Symbol create : on
F5 / Run F8 / File Extension : src
F9 / ? Dir of all src files
esc = exit F10 / DOS shell
Current directory : d:\xxxxx
Enter Selection:
-------------------------------------------------------------------
To select an option, enter the associated function key (1-10), or enter
the first letter of the option (except for 'esc' which means the 'escape'
key). No carriage-return or enter key is needed.
The options available are:
F1 or W - change/enter workfile name. This is the name of the current
source code file. You may enter just a base file name, and
ASENV will use the displayed drive, directory, and file
extension, or you may enter anything up to a full (valid) DOS
filename, including the drive letter, the path, the filename
and the extension. ASENV will parse over the entered string,
pull out anything it recognizes as a drive, path, or file
extension, and change your current working environment to
it (them).
F2 or P - the name of the (text) editor you wish to use to create and
modify source code. You should enter this exactly the way
you would enter it on the DOS command line if you wished to
invoke the editor from the current drive/directory.
F3 or E - edit the current (drive:\directory\)filename(.extension)
using the program named in Editor.
- 3 -
F4 or A - invoke the A86 Assembler, with the current file.extension,
and adding the current status of the 'O' and 'S' switches.
A86 (and its supporting files) MUST be available from the
current drive/directory or the current PATH/APPEND.
F5 or R - run the current filename. The extension is NOT added on,
as it is assumed that the runtime version is either a
'.COM' or '.EXE' file. You will be prompted to enter any
command-line parameters or switches which are needed to
run the program (e.q. a filename, or /a /3 - type switches).
F6 or O - this will toggle the 'O' switch for A86 assembly (goes
from on to off to on ... etc). The 'O' switch controls
the creation of linkable .OBJ(ect) files. A86 usually
creates directly executable .COM files (with no object
file), but if you wish to create an object file, turn
this switch ON.
F7 or S - this toggles the 'S' switch for A86. Normally, A86 creates
.SYM(bol) files ('S' = ON), but if you wish to NOT create
a symbol file, toggle this switch to OFF.
F8 or F - this changes the file extension which will be appended to
the filename when editing or assembling the file. It also
controls the files selected when you ask for a DIRectory
listing ('DIR *.ext') in the next option. If you wish for
a directory listing of ALL files in the current directory,
then NULL (with a space) this field before asking for your
listing.
F9 or ? - this produces a directory listing of the current directory.
The command used will be 'DIR *.ext' where 'ext' is the above
described file extension.
F10 or D - this will shell you out to DOS. You may enter any DOS command
or commands you wish. Return to ASENV by typing 'EXIT' at
the DOS command line prompt.
** NOTE ** - When you 'shell' out to DOS, you are actually
running a second (or more) version of command.com, and the
original program(s) from the prior level(s) of DOS are STILL
IN MEMORY. This means that your available memory will be LESS
than normal, and you may not be able to run certain programs.
Also, be aware that you may change environment settings while
in the shell, but any changes made will disappear when you
'popup' to the prior DOS level. The DOS shell starts out with
the same environment settings as the calling level, but these
are just a COPY, not the original ones. The original settings
are restored when you 'EXIT' the shell level.
- 4 -
C - this allows you to change your current drive and/or
directory. The filename and file extension are NOT affected,
so if you are working on 'C:\ASM\TEST.SRC', for instance,
and you change your directory to 'D:\BASIC', ASENV will
still be looking for the TEST.SRC file for editing and
assembling, and the TEST file for running, only now it is
searching the 'D:\BASIC' directory for them.
NOTES ON FIELD ENTRY:
When entering into one of the text fields (Workfile, Pgm Editor, File
Extension, Current directory, or command-line switches), the following
considerations are in effect :
1) The available size of the text-entry field will be highlighted.
2) If there is presently data in the variable being entered, the
existing data will be displayed in the field.
3) A carriage-return (enter key) entered as the FIRST character
of a field already containing data will retain the displayed
data.
4) A SPACE entered as the FIRST and ONLY character of a field will
null that field (make the variable = "").
5) ONLY the characters entered (up to a return) will be retained
as data for that field, NOT the full displayed line. For example,
if a field already contains 'abcedfghi', and you enter 'wxyz' then
a return, the field will now contain 'wzyx', NOT 'wxyzfghi'.
6) You may backspace (with the backspace OR left-arrow keys) to
correct an entry. As you backspace, previously overwritten characters
will 'reappear', but they are NOT part of the entry string (see #5),
UNLESS you backspace to the beginning of the entry, in which case
#3 above applies.
7) At ANY point in the text-entry field you may enter an <escape> key.
This has the effect of exiting the test-entry WITHOUT any changes
or entries being retained. (sort of 'I changed my mind' type).
8) More advanced editing functions (insert, delete, tabbing, etc.)
are NOT (yet!) supported. This is strictly a 'what you type is what
you get' data entry, NOT data editing!
9) If you attempt to enter any unacceptable keys, they will be rejected
and the system will 'beep' at you.
- 5 -
IN CLOSING:
This is version 0.1 September, 1991. Please bear in mind that this is
only a hobby (at this point), and probably worth every penny you paid
for it!. Enjoy !
REVISION HISTORY:
ver 0.1 - Initial release - October, 1991
- 6 -